package com.imc.api.attence.dao;

import com.imc.api.order.pojo.Lesson;
import com.imc.platform.base.leave.pojo.MakeMissLesson;
import com.imc.platform.base.leave.pojo.OptNote;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
import java.util.Map;

/*
 * 类描述：请假mapper类
 * 开发者：tanweiping
 * 创建日期：2018/10/28 20:40
 */
@Mapper
public interface LeaveMapper {

    /*
     * YT  2018/10/28 20:40
     * 方法描述：根据选项和用户ID获取请假信息
     */
    List <Map <String, Object>> getLeave(@Param("option") String option, @Param("userId") String userId);

    /*
     * YT  2018/10/28 20:41
     * 方法描述：为学生查询：根据登陆名称和当前日期查询课程列表
     */
    List <Lesson> getLessionListForStu(
            @Param("loginName") String loginName,
            @Param("child") String child,
            @Param("currentDate") String currentDate
    );

    /*
     * YT  2018/10/28 20:41
     * 方法描述：为老师查询：根据登陆名称和当前日期查询课程列表
     */
    List <Lesson> getLessionListForTeach(@Param("loginName") String loginName, @Param("currentDate") String currentDate);

    /*
     * YT  2018/10/28 20:43
     * 方法描述：通过请假ID查找信息
     */
    List <Map <String, Object>> findByleaveId(@org.springframework.data.repository.query.Param("leaveId") String leaveId);

    /*
     * YT  2018/10/28 20:43
     * 方法描述：通过ID清除
     */
    void cleanById(@Param("id") String id);

    void addMakeMissLesson(MakeMissLesson makeMissLesson);

    void updateMakeMissLesson(MakeMissLesson makeMissLesson);

    void addOptNode(OptNote optNote);

    Map<String,Object>showMakeMissLesson(int id);

    Map<String,Object> queryMakeMissLessonState(int id);

    List<MakeMissLesson>queryMakeList(String leaveDetId);

    Map<String,Object> queryLessonOrgName(int leaveDetId);

    List<Map<String,Object>>queryMasterList(int orgId);

    String queryProposer(int leaveDetId);

    String queryMissLessonFormId(int id);

    Map<String,Object>queryLessonOrgNameByMessId(int id);

    List<Map<String,Object>>queryMissLessonList(String loginName);
}
